package com.xmut.mall.member.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xmut.mall.member.dto.EvaluationQueryParams;
import com.xmut.mall.member.dto.MemberEvaluationDTO;
import com.xmut.mall.member.dto.MemberEvaluationReplyDto;
import com.xmut.mall.member.entity.MemberEvaluationEntity;
import com.xmut.mall.member.utils.RespBean;
import com.xmut.mall.member.vo.PageVO;

import java.util.Map;

public interface MemberEvaluationService extends IService<MemberEvaluationEntity> {

    /**
     * 会员商品进行评价
     * @param dto
     * @return
     */
    RespBean addMemberEvaluation(MemberEvaluationDTO dto);

    /**
     * 获取评论的分页数据
     * @param vo
     * @param params
     * @return
     */
    RespBean getEvaluationPage(PageVO vo, EvaluationQueryParams params);

    /**
     * 根据评论ID获取评论详情
     * @param id
     * @return
     */
    RespBean getEvaluationDetailById(Long id);

    /**
     * 回复评论
     * @param dto
     * @return
     */
    RespBean replyEvaluation(MemberEvaluationReplyDto dto);

    /**
     * 修改评价状态
     * @param params
     * @return
     */
    RespBean updateStatus(Map<String, Object> params);

    /**
     * 获取评论数量
     * @param id
     * @return
     */
    RespBean getEvaluationNumber(Long id);
}
